As is known in the art of computer animation and modeling, the DECface software product from Digital Equipment Corporation is a talking synthetic face application. The synthetic face application is a visual complement with a speech synthesizer application referred to as DECtalk, also from Digital Equipment Corporation. By combining the audio functionality of a speech synthesizer with the graphical functionality of a computer-generated face, a variety of engaging user interfaces can be developed. Examples include Internet-based agents capable of seeking and retrieving Web documents to read, Avatars for Chat applications, and front-end interfaces for kiosks.
The DECface application is a software implemented system that facilitates the development of applications requiring a real-time lip-synchronized synthetic face. The original version of DECface operates under Digital Unix and utilizes the X-Window system for display. The current version of the DECface application functions under W32 NT or Windows 95 operating systems, and can be embedded into Web browsers as a plug-in.
One of the components of the DECface application is face modeling. In face modeling, a synthetic or real image of a face can be mapped onto a wireframe topology that has been shaped to the contours and features of a face. The wireframe topology includes a plurality of nodes connected by arcs or lines. The face can be of a person, an animal, or a cartoon character. In the prior art, the process of face modeling has generally been manual, labor intensive and time consuming because every node of the wireframe had to be manually mapped to corresponding facial features.
In a completely manual process, an image of the face is displayed, and the wireframe topology is roughly positioned relative to the image. The user then steps though each individual node of the wireframe and repositions the two-dimensional location of a currently node to match a corresponding feature of the face.
Some automated techniques for mapping, wireframes to images of faces are known. One such method relies on automatically detecting the eyes, the tip of the nose, and the mouth using eigenfeatures as templates. The wireframe topology is then is initialized by an affine warping, based on the location of the detected facial features. However, this form of global transformation is generally an approximation because ratios of facial features in different faces do not chance linearly.
Another method for mapping facial features to a wireframe uses manual identification of facial features such as the center of the eyebrows and the corners of the mouth. In addition, this method requires the storing of explicit connectivity information during the computation of the relative location of the nodes with respect to the imaged features of the face.
A semiautomatic method for mapping is described in U.S. patent application Ser. No. 08/815,981 "Facial Image Method and Apparatus for Semi-Automatically Mapping a Face onto a Wireframe Topology," filed by Kang et al. on Mar. 10, 1997, incorporated in its entirety herein by reference. There, the location of the eyes and mouth are automatically detected. The contour of the face is located using edge detection. These facial features are then mapped to nodes of the wireframe, and the displacements of the nodes are fine-tuned in a manual process.
It is desired to accurately map an arbitrary frontal image of a face onto a wireframe in a fully automated process. By making the process fully automatic, the time required to map an image can be reduced.